package com.toolsder.demo.spring.security.jwt.service;

import com.toolsder.demo.spring.security.jwt.entity.UserInfo;
import com.toolsder.demo.spring.security.jwt.entity.database.User;
import org.springframework.security.core.userdetails.UserDetailsService;

/**
 * created by 猴子请来的逗比 On 2020/7/10
 *
 * @author by 猴子请来的逗比
 */
public interface UserService extends UserDetailsService {

    /**
     * 登录认证换取JWT令牌
     *
     * @return JWT
     */
    String login(String username, String password);

    /**
     * 通过token获取用户
     *
     * @param token
     * @return
     */
    User tokenToUser(String token);


    /**
     * 通过token获取用户信息
     *
     * @param token
     * @return
     */
    UserInfo getUserInfo(String token);


    /**
     * 修改用户密码
     *
     * @param token
     * @param oldPassword
     * @param password
     */
    void modifyPassword(String token, String oldPassword, String password);

}
